// pages/user/user.js
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function() {
    // 从本地存储获取用户信息
    const userInfo = wx.getStorageSync('userInfo');
    if (!userInfo) {
      wx.redirectTo({
        url: '/pages/login/login'
      });
      return;
    }
    
    this.setData({
      userInfo: userInfo
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 每次进入页面都检查一次登录状态和用户信息，确保数据是最新的
    this.checkLoginState();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  /**
   * 检查登录状态和用户信息
   */
  checkLoginState: function() {
    const userData = wx.getStorageSync('userData'); // 获取存储的用户数据
    const userRole = wx.getStorageSync('userRole');

    if (userData && userRole) {
      let displayName = userData.name || '未知用户';
      let avatar = userData.userInfo?.avatarUrl || '/images/default-avatar.png';
      let dormitory = '';

      // 如果是学生，显示宿舍信息
      if (userRole === '学生' && userData.dormitory) {
        dormitory = userData.dormitory;
      }

      this.setData({
        userInfo: {
          name: displayName,
          avatarUrl: avatar,
          role: userRole,
          dormitory: dormitory
        },
        hasUserInfo: true
      });
    } else {
      this.setData({
        userInfo: {
          name: '请先登录',
          avatarUrl: '/images/default-avatar.png',
          role: '',
          dormitory: ''
        },
        hasUserInfo: false
      });
    }
  },

  /**
   * 编辑个人信息
   */
  editProfile: function() {
    wx.navigateTo({
      url: '/pages/userProfile/userProfile'
    });
  },

  /**
   * 关于系统
   */
  handleAbout: function() {
    wx.showModal({
      title: '关于系统',
      content: '宿舍卫生管理系统 V1.0\n提供宿舍卫生评分、整改任务管理等功能。',
      showCancel: false
    });
  },

  /**
   * 退出登录
   */
  handleLogout: function() {
    wx.showModal({
      title: '提示',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除本地存储的用户信息
          wx.removeStorageSync('userInfo');
          wx.removeStorageSync('userData');
          wx.removeStorageSync('userRole');
          
          // 跳转到登录页
          wx.reLaunch({
            url: '/pages/login/login'
          });
        }
      }
    });
  },

  navigateToPage: function(e) {
    const url = e.currentTarget.dataset.url;
    if (url) {
      wx.navigateTo({ url });
    } else {
      wx.showToast({
        title: '功能暂未开放',
        icon: 'none'
      });
    }
  }
})